home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
SPACE 1
/
SPACE - Library 1 - Volume 1.iso
/
utilitys
/
159
/
templmon.eng
< prev
next >
Wrap
Text File
|
1988-03-30
|
6KB
|
106 lines
Copyright (C) 1986, Thomas Tempelmann
Thomas Tempelmann, E.-L.-Kirchner Str. 25, D-2900 Oldenburg, West Germany
------------------------------------------------------------------------------
The versions 1.xx of TEMPLEMON may be considered Public Domain and can be
freely copied under the following condition:
TEMPLEMON.PRG must be in a folder named TEMPLEMON when a copy is made for
others. The file READ.ME must be included in the folder TEMPLEMON.
------------------------------------------------------------------------------
TEMPLEMON command summary /Version 1.10/ 18.9.87
NOTE: All values are displayed/entered in hexadecimal.
"!" is the monitor's prompt.
<f> stands for first address.
<e> stands for the first excluded address (roughly expressed - ending
address). <e> can optionally be replaced with X<n> (n = number of bytes)
and in some cases with Z<n> (n = number of lines to be displaed). The
ending address can be replaced with a "." (i.e. "M 1000.") when used
in the functions "M", "D" and "I" to achieve an open-ended listing.
The contents of a register may also be used in place of an address using
"R" as a prefix followed by the register (i.e. "D R PC.").
Decimal values can be entered with "&<value>".
The value of any register can be entered with "R<register>".
The plus- and minus-signs can be used to build expressions (i.e. "M RA0+2").
Any address can be prefixed with the offset-variable "O" (i.e. "M O24E.").
See the "O <offs>" command later in the overview for information on
setting the offset-variable.
All output to the screen can be stopped and restarted with the /SPACE/ key
or aborted with any other key.
Try out the F1 and F2 keys ! F1 displays the monitor, while F2 displays the
original screen (TEMPLEMON uses its own screen to protect the original).
M <f> <e> Memory dump (values displayed are byte size).
: <f> <b1> <b2>... Store bytes <b..> starting at <f>.
D <f> <e> Disassemble an area of memory.
O <offs> Set the offset variable "O" to the value <offs>.
C <f> <e> <d> Copy bytes from <f>..<e>-1 to <d>..<d>+(<e>-<f>).
V <f> <e> <d> Verify bytes (see "C" function for range information).
H <f> <e> <b1> <b2>... Hunt (bytes). Use "?" as joker.
H <f> <e> '<string> Hunt (string). Use "?" as joker.
F <f> <e> <b1> <b2>... Fill memory with bytes. Use "?" as joker.
F <f> <e> '<string> Fill memory with a string. Use "?" as joker.
I <f> <e> ASCII dump.
' <f> /SPACE/ <string> Store ASCII-characters (bytes) into memory
B Display all breakpoints
B<n> <a> Set breakpoint number <n> to address <a>
B- Clear all breakpoints
G <f> Leave TEMPLEMON and continue execution at address <f>
(NOTE: <f> is optional).
GS <f> Call a subroutine at <f>, then return to TEMPLEMON.
T+ Trace-mode on.
T- Trace-mode off.
NOTE: If Trace-mode is on a "G"-function will not execute directly, but
will wait for one of the following keys:
/SPACE/ for executing displayed instruction
/ESC/ to enter monitor commands (enter "G" to continue tracing).
/O/ to execute without display (stops only at breakpoints or when
SHIFT/ALT/HELP is pressed).
/R/ to return from a subroutine (execute without display until return)
/A/ similar to "O", but forces all instructions to be traced. All
Traps can be traced and breakpoints can even be checked in ROM.
(NOTE: Trace will be disabled while the interrupt-mask is set to
6 or 7, or the system-variable $43E (flock) is non-zero.)
/F/ similar to "O", but the program will run with full speed (no
tracing).
/D/ disassembles next instructions.
/B/ sets breakpoint at next or displayed line. You can use this command
whenever you want to skip over a subroutine call or a loop:
If the next line looks like "JSR <address>", simply press "B" then
"F" (or "O") and the subroutine will be called without having to
trace it step by step. If you want to skip over a loop, press "D"
several times until you have displayed a line behind the loop. Then
press "B" and "F" (or "O") and you will get behind the loop.
R <reg1> <reg2>... Show selected registers (D0-A7,SR or F,PC,SSP,USP).
R <reg> = <l> Store longword <l> into register <reg>.
R F<SR-flag> = <v> Sets flag <SR-Flag> to value <v> (i.e. "R FC=0" to
clear the carry-flag).
R: <reg1> <reg2>... Set register-default-display (i.e. for Trace).
R Show all registers.
RS Saves all registers
RR Restores all saved registers.
P Clear screen (output a form feed).
S <filename>,<f> <e> Saves memory to a file named <filename>
L <filename> Load memory from the file into a Malloc'd buffer
L <filename>,<f> <e> Load memory from the file
L <filename>,@<off>,<f> <e> As above but start from offset <off> in file
P <filename> Open a protocol file. All outputs will be send to the
file (i.e. "P PRN:" sends output to printer).
PC Closes an opened protocol file.
Q Quit ( GEMDOS(0) ).
I hope that you will find TEMPLEMON useful and that your bug-swatting problems
are eased by my monitor. If you would like a more detailed description
of the TEMPLEMON debugger/monitor with additional hints on bug-tracing
please send a donation of 15 U.S. dollars to the address below.
THANK YOU AND GOOD HUNTING !
Thomas Tempelmann, E.-L.-Kirchner Str. 25, D-2900 Oldenburg, West Germany